1. Field of the Invention
The present invention generally relates to expert systems, and more particularly, relates to a method and system for identifying interrelations between knowledge base modules.
2. Related Art
In expert system applications, heuristic and procedural expert knowledge typically is represented in several logic modules. The number of such modules often times approaches several hundred. Each logic module may contain numerous calls to external programs, data files, or external devices such as a video disk. Further, the logic modules may be interconnected by a "call" or a "load" command for transferring inference control during execution.
Until now, a system user generating an expert system application was essentially left to "brut force" for devising a method of cross checks between modules. The system user would manually attempt to identify the numerous inference paths to verify the logical accuracy of the path. These manual procedures are tedious, time consuming and susceptible to error.
Moreover, in most expert system applications, links between various logic modules are continually updated as new logic modules are added to reflect additional expert knowledge. In this state of constant flux, the user's task of keeping the overall logic structure robust becomes even more repetitious and increasingly more time consuming.
Before now, no automated method or system provided information such as the longest stack size present during an inference operation, explicit identification of inference paths for any of the numerous diagnostic procedures built into an expert application, and identification of the various exit paths provided. No known system provides identification of "blind", i.e., unintended, inference paths or highlighting of questionable linkages between modules.